package com.bpmn.flow.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import lombok.Data;

import java.util.List;
import java.util.Map;

/**
 * @author rain
 */
@Data
public class TaskOperationDTO {

    @NotBlank(message = "当前处理人id")
    private String userId;

    @NotBlank(message = "任务ID不能为空")
    private String taskId;

    @NotBlank(message = "操作类型不能为空")
    private String operation;

    private String comment;

    private Map<String, Object> variables;

    // 加签相关
    private List<String> addSignUsers;
    // BEFORE/AFTER/PARALLEL
    private String addSignType;

    // 退回相关
    @Schema(description = "退回目标(活动ID或用户ID)")
    private String returnTarget;

    // 转办相关
    @Schema(description = "转办目标用户ID")
    private String transferUserId;

    @Schema(description = "被委派人ID")
    private String delegateUserId;

} 